1. Field of the Invention
The present invention relates generally to the field of satellite positioning systems (SPS) and, more particularly, to processing of SPS signals.
2. Description of the Related Art
Global positioning system (GPS) receivers normally determine their position by computing times of arrival of signals transmitted from a multiplicity of GPS satellites. These satellites transmit as part of their message, both satellite positioning data as well as data regarding clock timing, so-called ephemeris data. The process of searching for and acquiring GPS signals, reading the ephemeris data for a multiplicity of the satellites, and computing the location of the receiver from this data is time consuming, often requiring several minutes. In many cases, this lengthy processing time is unacceptable and, furthermore, greatly limits battery life in miniaturized portable applications. GPS receiving systems have two principle functions: The first is the computation of a plurality of pseudoranges with respect to the various GPS satellites; and the second is the computation of the position of the receiver using the pseudoranges and the satellite timing and ephemeris data. The pseudoranges are simply the times-of-arrival of satellite signals measured by a local clock. Satellite ephemeris and timing data is extracted from the GPS signal once the GPS signal is acquired and tracked. As stated above, collecting this information normally takes a relatively long time (30 seconds to several minutes) and must be accomplished with a good received signal level in order to achieve low error rates.
Most GPS receivers utilize correlation methods to compute pseudoranges. These correlation methods are performed in real time, often with hardware correlators. GPS signals contain high rate repetitive signals called pseudorandom (PN) sequences. These codes have a binary phase reversal rate, or chipping rate, of 1.023 MHz and a repetition period of 1,023 chips for a code period of one millisecond. The code sequences belong to a family known as Gold codes, and each GPS satellite broadcasts a signal with a unique Gold code. For a signal received from a given GPS satellite, following a down conversion process to baseband, a correlation receiver multiplies the received signal by a stored replica of the appropriate Gold code contained within its local memory and then integrates or low pass filters the product in order to obtain an indication of the presence of the signal. This process is termed a correlation operation. By sequentially adjusting the relative timing of this stored replica relative to the received signal, and observing the correlation output, the receiver could determine the time delay between the received signal and the local clock. The initial determination of the presence of such an output is termed acquisition. Once acquisition occurs, the process enters the tracking phase in which the timing of the local reference is adjusted in small amounts in order to maintain a high correlation output. The correlation output during the tracking phase may be viewed as the GPS signal with the pseudorandom code removed or in common terminology “despread”. The signal now has a bandwidth commensurate with a 50 bit per second binary phase shift key (BPSK) data signal that is superimposed on the GPS waveform.
In order to produce an initial three-dimensional location on the earth, signals must be received from four satellites if there is no prior knowledge of position of the receiver. If some knowledge of position is known, such as altitude, then only three satellite signals may be sufficient to initially fix the position of the receiver upon the earth. However, even with prior knowledge of position and three satellites, there are instances where two solutions for position may be found within a region (e.g., the United States) and, as such, the receiver will not be able to uniquely fix its initial position. Using the conventional process for obtaining the first acquisition of position on the earth, a receiver cannot operate with fewer than three satellites.
In many instances, a GPS receiver is operated in an urban canyon, for example, where buildings or other obstructions block the view of all but two or three satellites. In such an environment, conventional GPS receivers may not be able to uniquely determine an initial position. Once a GPS receiver has an initial position, there are well-known techniques for maintaining position with fewer than three satellites, usually using a Kalman filter, or similar filter, which includes a prediction of the location of the receiver based on recent position and clock information and sometimes velocity. However, the current invention is primarily concerned with an initial position fix, where there are no recent position fixes and, in some scenarios, no a-priori clock or time information.
Using conventional techniques to solve for an initial position, the handover word (HOW) must be decoded from the satellite in order to determine an unambiguous full pseudorange. Until the HOW is decoded (or an initial position is provided by some other means), the measured pseudorange is ambiguous, since GPS receivers measure pseudoranges modulo one millisecond (i.e. only the sub-millisecond part of the pseudorange is measured). It is time consuming and often impossible to decode the HOW, particularly with weak signals, or in environments (such as forests, or urban canyons) where the signal is blocked intermittently and frequently enough to prevent a standard GPS receiver from decoding HOW.
Therefore, there is a need in the art for a method and apparatus that uniquely determines an initial position of a GPS receiver using signals from fewer than four satellites or, where there are signals from four or more satellites, a method and apparatus that determines an initial position of a GPS receiver without decoding the HOW.